#pragma once


class CPreciseTime
{
public:
	CPreciseTime();

	static CPreciseTime now();

	CPreciseTime& operator+= (const CPreciseTime& rhs);
	CPreciseTime& operator-= (const CPreciseTime& rhs);
	CPreciseTime& operator*= (float rhs);

	CPreciseTime operator+ (const CPreciseTime& rhs) const;
	CPreciseTime operator- (const CPreciseTime& rhs) const;
	CPreciseTime operator* (float rhs) const;

	operator float () const;

private:
	uint64	m_counter;
	uint64	m_frequency;
};